Skip to content

Add a connect API for inter-process-communication between maven and IDE #88

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 22, 2025

Conversation

laeubi
Copy link
Collaborator

@laeubi laeubi commented Feb 22, 2025

Currently an IDE launching an external maven process is rather blind, it can only see if the process exit with success and maybe read the standard stream. A much more feature rich experience could been offered if the launching process can gather some information about the run, e.g. what process is currently executed, what mojo and if it failed. Also currently features of the build context can only be implemented if running inside the IDE process what has several implications.

This now adds a connect API that allows an IDE to supply an extension to the maven process (e.g. via maven.ext.class.path) and set a system property (plexus.build.ipc.port) to communicate with the running maven process.

@laeubi laeubi force-pushed the add_connect_api branch 3 times, most recently from 43826fd to d717dbd Compare February 22, 2025 09:42
@laeubi laeubi marked this pull request as ready for review February 22, 2025 10:06
Currently an IDE launching an external maven process is rather blind, it
can only see if the process exit with success and maybe read the
standard stream. A much more feature rich experience could been offered
if the launching process can gather some information about the run, e.g.
what process is currently executed, what mojo and if it failed. Also
currently features of the build context can only be implemented if
running inside the IDE process what has several implications.

This now adds a connect API that allows an IDE to supply an extension to
the maven process (e.g. via maven.ext.class.path) and set a system
property (plexus.build.ipc.port) to communicate with the running maven
process.

Signed-off-by: Christoph Läubrich <[email protected]>
@laeubi
Copy link
Collaborator Author

laeubi commented Feb 22, 2025

I testes this in different combinations with m2e and it works fine, so further enhancements can be made with separate PRs.

@laeubi laeubi merged commit b4dbb22 into codehaus-plexus:master Feb 22, 2025
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant